cairo_paint (cr);
cairo_destroy (cr);
- cairo_surface_destroy (surface);
g_assert (cairo_surface_status (coerced) == CAIRO_STATUS_SUCCESS);
cairo_surface_t *surface2)
{
int w1, h1, w2, h2, w, h;
- cairo_surface_t *diff;
+ cairo_surface_t *coerced1, *coerced2, *diff;
get_surface_size (surface1, &w1, &h1);
get_surface_size (surface2, &w2, &h2);
w = MAX (w1, w2);
h = MAX (h1, h2);
- surface1 = coerce_surface_for_comparison (surface1, w, h);
- surface2 = coerce_surface_for_comparison (surface2, w, h);
+ coerced1 = coerce_surface_for_comparison (surface1, w, h);
+ coerced2 = coerce_surface_for_comparison (surface2, w, h);
- diff = buffer_diff_core (cairo_image_surface_get_data (surface1),
- cairo_image_surface_get_stride (surface1),
- cairo_image_surface_get_data (surface2),
- cairo_image_surface_get_stride (surface2),
+ diff = buffer_diff_core (cairo_image_surface_get_data (coerced1),
+ cairo_image_surface_get_stride (coerced1),
+ cairo_image_surface_get_data (coerced2),
+ cairo_image_surface_get_stride (coerced2),
w, h);
+ cairo_surface_destroy (coerced1);
+ cairo_surface_destroy (coerced2);
+
return diff;
}
cairo_paint (cr);
cairo_destroy (cr);
- cairo_surface_destroy (surface);
g_assert (cairo_surface_status (coerced) == CAIRO_STATUS_SUCCESS);
cairo_surface_t *surface2)
{
int w1, h1, w2, h2, w, h;
- cairo_surface_t *diff;
+ cairo_surface_t *coerced1, *coerced2, *diff;
get_surface_size (surface1, &w1, &h1);
get_surface_size (surface2, &w2, &h2);
w = MAX (w1, w2);
h = MAX (h1, h2);
- surface1 = coerce_surface_for_comparison (surface1, w, h);
- surface2 = coerce_surface_for_comparison (surface2, w, h);
+ coerced1 = coerce_surface_for_comparison (surface1, w, h);
+ coerced2 = coerce_surface_for_comparison (surface2, w, h);
- diff = buffer_diff_core (cairo_image_surface_get_data (surface1),
- cairo_image_surface_get_stride (surface1),
- cairo_image_surface_get_data (surface2),
- cairo_image_surface_get_stride (surface2),
+ diff = buffer_diff_core (cairo_image_surface_get_data (coerced1),
+ cairo_image_surface_get_stride (coerced1),
+ cairo_image_surface_get_data (coerced2),
+ cairo_image_surface_get_stride (coerced2),
w, h);
+ cairo_surface_destroy (coerced1);
+ cairo_surface_destroy (coerced2);
+
return diff;
}